Virtual Prosthetic Limb System

ABSTRACT

A system for configuring a prosthetic limb for use by a living being is provided. The system includes an electronic control unit (ECU) configured to receive a control signal generated in response to a command from the living being and to generate a plurality of virtual bodies on a display including members of a virtual prosthetic limb and at least one virtual object. The ECU is further configured to control movement of at least one member of the virtual limb responsive to the control signal, to determine a contact force between first and second virtual bodies of the plurality of virtual bodies upon engagement between the first and second bodies caused by movement of one of the one member of the virtual limb and the at least one virtual object and to adjust a position of at least one of the first and second bodies responsive to the contact force.

This application claims priority to U.S. Provisional Patent ApplicationNo. 61/398,794 filed Jul. 2, 2010, the entire disclosure of which isincorporated herein by reference.

BACKGROUND OF THE INVENTION

1. Field of the Invention

This invention relates to a virtual prosthetic limb system that can beused to design and evaluate new prosthetic limbs, serve as a platformfor control algorithm design and sensor/signal selection, and trainpatients to use a given prosthetic limb.

2. Discussion of Related Art

Many individuals in the United States today are living with upperextremity amputations. These amputations most frequently result fromtrauma and affect young persons, especially for the soldiers wounded inAfghanistan or Iraq. A robotic arm with a fully functioning hand willsignificantly improve the quality of life for these amputees. Designinga robotic prosthetic arm with an optimal control mechanism that matchesan individual's needs with minimum training time requires a lot of time,effort and money. A virtual prosthetic limb system that can simulate anypossible design of prosthetic limb in a realistic way will significantlyreduce the time, effort and money in developing a new robotic prostheticlimb, will reduce the actual training time for amputees to use the realprosthetic limbs and provide a platform for experimentation with any ofa variety of possible control methods. Some research has been reportedon creation of a virtual prosthetic arm system. In one such project,Orsborn, et al, (Orsborn, Amy et al, “Simulation of an Above-ElbowMyoelectric Prosthetic Arm for Development of an Implanted MyoelectricControl System”,(http://www.phys.cwru.edu/undergrad/Senior%20Projects/SeniorProjectPosters/AmyOrsbornPOSTER.pdf)),developed a basic prosthetic model and the framework required for amulti-component simulator using myoelectric signals. In another relatedproject reported by J. Burck, M. J. Zeher, R. Armiger and J. D. Beaty,entitled “Developing the World's Most Advanced Prosthetic Arm UsingModel-Based Design”, and published by The Math Works in News & Notes, in2009, they developed a Virtual Integration Environment (VIE) thatincluded a limb simulation environment, constructed using MathWorkstools and Model-Based Design. The VIE allowed users to control thevirtual prosthetic arm with different control inputs, e.g., switches orjoysticks.

To develop a more advanced virtual prosthetic limb system, the presentinventors adopted advanced technologies to, among other things (i)simulate the interactions between and among the virtual prosthetic limband virtual objects; and (ii) to build a more realistic visualizationsystem; and (iii) to “connect” the virtual prosthetic limb and theresidual limb of a patient in two directions, namely, to change theposition of the virtual prosthetic limb according to the movement of theresidual arm of a patient, and to provide feedback to the patientaccording to the events in the virtual space. The inventive virtualprosthetic limb system can be used for designing and evaluating newprosthetic arms, as a platform for control algorithm design andsensor/signal selection, patient training, and recording limb movementsand control signals during clinical investigations for performanceanalysis. For example, as a design platform it could be used in studyinghow to connect a robotic prosthetic arm into the nervous system and/orinto the brain (see for example the publications “Extraction algorithmsfor cortical control of arm prosthetics” by Schwartz, A B, Taylor, D M,Tillery, S I, Curr. Opin. Neurobiol. 11, 701-707 (2001); “Corticalcontrol of a prosthetic arm for self-feeding” by Velliste M, Perel S,Spalding M C, Whitford A S, Schwartz A B, Nature, Vol 453 19 Jun. 2008doi:10.1038; and “Using virtual reality to test the feasibility ofcontrolling an upper limb FES system directly from multiunit activity inthe motor cortex” by Taylor D M, Schwartz A B, In Proceedings of the 6thAnnual IFESS Conference: 2001 Jun. 16-20; Cleveland. 2001:132-134, allof which are incorporated by reference hereinto).

The inventors herein have recognized a need for a virtual prostheticlimb system that will minimize and/or eliminate one or more of theabove-identified deficiencies.

SUMMARY OF THE INVENTION

The present invention provides a system for configuring a prostheticlimb for use by a living being.

A system in accordance with one embodiment of the invention includes anelectronic control unit configured to receive a control signal generatedin response to a command from the living being. The control unit isfurther configured to generate a plurality of virtual bodies on adisplay including a plurality of members of a virtual prosthetic limb(e.g., fingers, a forearm, etc.) and at least one virtual object. Thecontrol unit is further configured to control movement of at least afirst member of the plurality of members of the virtual prosthetic limbresponsive to the control signal. The control unit is further configuredto determine a contact force between first and second virtual bodies ofthe plurality of virtual bodies upon engagement between the first andsecond virtual bodies caused by movement of one of the at least a firstmember of the virtual prosthetic limb and the at least one virtualobject. The first and second virtual bodies may comprise, for example,two members of the virtual prosthetic limb, two virtual objects, or amember of the virtual prosthetic limb and a virtual object. The controlunit is further configured to adjust a position of at least one of thefirst and second virtual bodies responsive to the contact force.

A system in accordance with another embodiment of the invention includesan electronic control unit configured to receive a control signalgenerated in response to a command from the living being. The controlsignal may be generated through a control interface such as a switch orother conventional input/output device or through one or more sensors,such as an electrode placed in contact with tissue in the living being.The electronic control unit may be further configured to generate avirtual prosthetic limb and a virtual object on a display and to controlmovement of the virtual prosthetic limb responsive to the control signal(e.g., to sense movement of the residual limb and move the “attached”virtual prosthetic limb accordingly). The electronic control unit may befurther configured to determine a contact force between the virtualprosthetic limb and the virtual object upon engagement of the virtualobject by the virtual prosthetic limb. The electronic control unit maybe further configured to adjust a position of at least one of thevirtual prosthetic limb and the virtual object responsive to the contactforce. In another embodiment of the invention, the electronic controlunit may be further configured to generate a feedback signal to theliving being responsive to engagement of the virtual object by thevirtual prosthetic limb or another event in the virtual space.

A system in accordance with the present invention represents animprovement over conventional systems because it can efficientlysimulate various designs for prosthetic limbs in a realistic manner. Asa result, the system improves the design and evaluation of prostheticlimbs and associated control algorithms and sensor/signal selection andalso provides more efficient training for patients.

These and other advantages of this invention will become apparent to oneskilled in the art from the following detailed description and theaccompanying drawings illustrating features of this invention by way ofexample.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a diagrammatic view of one embodiment of a system inaccordance with the present invention.

FIGS. 2A-B are diagrammatic views of surfaces of two virtual objects(e.g., a virtual prosthetic limb and another virtual object) before andafter contact between the two surfaces.

FIGS. 3A-B are diagrammatic views of exemplary contact elements within avirtual object.

DETAILED DESCRIPTION OF EMBODIMENTS OF THE INVENTION

Referring now to the drawings wherein like reference numerals are usedto identify identical components in the various views, FIG. 1illustrates a system 10 for configuring a prosthetic limb for use by apatient 12 or other living being in accordance with one embodiment ofthe present invention. It should be understood that the term “limb” mayrefer to an arm, a leg, or any portion of the foregoing. System 10 mayinclude a display 14, a recording system 16, a control interface 18, andan electronic control unit 20 in accordance with the present invention.

Display 14 is provided to display virtual bodies including a virtualprosthetic limb 22 and its constituent members (e.g., in the case of anarm, limb 22 may include an elbow joint, forearm, wrist joint, palm,fingers and finger joints) and one or more virtual objects 24 in orderto allow patients 12 and others to visualize movement of the limb 22 inresponse to commands from the patient 12 and interactions with objects24 and between objects 24 resulting from such movement. Display 14 maycomprise a three-dimensional display. Display 14 may be a stereoscopicdisplay or an auto-stereoscopic display. In one embodiment of the systemstereoscopic 3D visualization of the virtual limb 22 and objects 24 isachieved by using the Alienware OptX™ AW2310 23-inch 3D Full HDWidescreen Monitor and NVIDIA GeForce 3D Vision Kit (both are availablefrom Dell Computer, 1 Dell Way Round Rock, Tex.) with a 3D graphics cardPNY NVIDIA Quadro FX 580 (available from Amazon.com). ECU 20 uses theapplication programming interface OpenGL originally developed by SiliconGraphics, Inc. to generate images of the limb 22 and objects 24 for leftand right eyes and uses display 14 to achieve the stereoscopic 3Dvisualization. The virtual prosthetic limb 22 and virtual objects 24will be rendered in real-time on display 14. The stereoscopic 3D display14 will provide realistic visual sense and will improve the usage ofsystem 10.

Recording system 16 is provided to record the positions of the virtuallimb 22 and objects 24 as well as the set of commands from thesubject/patient 12, at any given set of times. A set of images of theprosthetic limb 22 and virtual objects 24 can be regenerated using therecorded positions of the virtual limb 22 and virtual objects 24, forsubsequent replaying on display 14 and/or computations or other outputsof ECU 20 for use in, for example, performance analysis. System 16 maycomprise conventional fixed or portable media (e.g., a hard drive,compact disc, digital video disc, flash drive, etc.) and may be locatedlocally or remotely and accessed over a wired or wirelesstelecommunications network. System 16 is configured to save and replayall movements of limb 22 and objects 24 for performance analysis.

Control interface 18 is provided to allow transfer of commands from thepatient 12 to ECU 20 and, in some embodiments, to provide feedback fromsystem 10 to patient 12. Interface 18 may generate control signalsreflecting the patient's body movement so as to “attach” the patient'sbody to the virtual limb 22 by reflecting movement of the patient's bodyin the virtual space (e.g., a virtual arm with shoulder joint can be“attached” to the patient's shoulder and any movements (translationsand/or rotations) of the patient's shoulder will move the virtual arm inreal-time accordingly). Interface 18 may also generate control signalsused to control movements of the joints that link the segments of thevirtual limb (e.g., the elbow joint linking the upper arm and forearm,the wrist joint linking the forearm and hand, and knuckle joints linkingfinger segments).

In one embodiment of the invention, interface 18 includes a pair ofcameras 26, 28, and a plurality of markers 30 that are affixed to thepatient 12. The patient's body movements, e.g., shoulder movements, aremeasured in real-time with cameras 26, 28, mounted above the patient'sshoulder. Cameras 26, 28, may be about 400 mm apart with camera 26pointing vertically downward and camera 28 pointing downward at aboutthirty (30) degrees relative to camera 26. Three reflective trackingmarkers 30 forming a right triangle may be fixed on a 50 mm by 100 mmaluminum sheet (5 mm thick) coated with non-reflective paint. The sheetis mounted on the patient's shoulder in such a way that two of themarkers 30 are in anterior-posterior direction (along the 50 mm side)and two markers 30 are in lateral-medial direction (along the 100 mmside). To avoid interference from extraneous light (e.g., room light),two infrared LED light sources (not shown) may be used to illuminate thetracking markers 30 and infrared filters 32, 34 may be used on thecameras 26, 28. The real-time tracking marker images captured by the twocameras 26, 28 are processed by ECU 20 to obtain the patient's shouldertranslations and rotations. The processing by triangulation using videocameras and markers is well known in the field (see for example thepublication “Repeatability of gait data using a functional hip jointcentre and a mean helical knee axis,” by Besier T. F., Sturnieks D. L.,Alderson J. A. and Lloyd D. G., J. Biomech. 36 (2003), pp. 1159-1168,which is incorporated by reference hereinto). This information is usedto determine the virtual prosthetic proximal end location andorientation. It should be understood that the above-described approachcan also be used to capture the movements of other body parts, such asthe residual limb of an above-elbow amputee. In an alternativeembodiment, control interface 18 may include a position sensor (notshown) affixed to the patient 12 and a tracking device such as theelectromagnetic motion analysis system sold commercially under thetrademark “FASTRAK” by Polhemus Inc. of Colchester, Vt. The sensors maybe placed on the trunk and residual limb and 3D position coordinates andangles (roll, pitch, and yawl) are measured and transmitted to ECU 20.The sensor and tracking device may be connected by wires or cables ormay exchange data wirelessly through, for example, radiofrequency orinfrared transmitters and receivers or the like.

As noted hereinabove, control interface 18 may also include means forreceiving signals used to control joints in limb 22. In one embodimentof the invention, interface 28 may include switches 36 operated by thepatient's feet used to control the movements of the joints and varioussegments connected by those joints in the virtual limb 22. The patient12 can use the switches 36 to move an individual segment, e.g., rotatethe forearm to pour water into a cup, or to move segments in a group,e.g., move hand to a given point in a 3D space, or control fingers tograb or release an object. In an alternative embodiment, interface 18includes one or more sensors, such as an accelerometer, attached topatient 12. In yet another alternative embodiment, one or moreelectrodes 38 may be attached to tissue (e.g., muscle or nerve tissue)in the residual limb of the patient. Electrodes 38 are used to obtainmyoelectric signals from a patient and the signals are used to controlthe movements of the segments of limb 22. It should be appreciated thata variety of control signals besides those arising from switches 36 orelectromyography (EMG) signals detected by sensors 38 can be used in thepresent invention. For example, EEG and direct electrode recording fromwithin the brain, or any combination of the above, are all considered tobe within the scope of the present invention.

ECU 20 provides a means for generating virtual bodies on display 14including members of limb 22 and objects 24 and for controlling movementof limb 22 and its members. ECU 20 further provides a means fordetermining a contact force between various virtual bodies (e.g. betweenmembers of limb 22, between limb 22 and an object 24 or between twoobjects 24) upon engagement between the virtual bodies resulting frommovement of one or more members of limb 22 or one or more virtualobjects 24. ECU 20 further provides a means for adjusting a position ofat least one of the virtual bodies responsive to the contact force. ECU20 may comprise a programmable microprocessor or microcontroller or maycomprise an application specific integrated circuit (ASIC). ECU 20 mayinclude a central processing unit (CPU) and an input/output (I/O)interface through which ECU 20 may receive a plurality of input signalsincluding signals generated by control interface 18 and generate aplurality of output signals including those used to control and/orprovide data to display 14 and recording system 16.

In accordance with one embodiment of the present invention, ECU 20 isconfigured with appropriate programming instructions or code (i.e.,software) to perform several steps in a method for configuring aprosthetic limb 22 in accordance with the present invention. The methodmay include the step of receiving one or more control signals generatedin response to a command from the patient 12. These control signals maybe generated by control interface 18 as described hereinabove. Themethod may continue with the steps of generating a virtual prostheticlimb 22 (and individual members of limb 22) and one or more virtualobjects 24 on display 14 and controlling movement of members of limb 22responsive to the control signals. ECU 20 may generate limb 22 andobjects 24 using the application programming interface OpenGL originallydeveloped by Silicon Graphics, Inc. ECU 20 calculates the translationsand rotations of each segment of limb 22 based on the control signalsfrom interface 18 and the movements of objects 24 according to theinteraction between limb 22 and objects 24 or between multiple objects24. The movement of limb 22 is therefore controlled by the real-timeinput signals from interface 18. The patient's body movements will bedirectly reflected in the virtual prosthetic limb 22. The jointmovements will be controlled in the way as designed, e.g., eachindividual joint or group of joints will be controlled to realizepre-defined movements.

Referring to FIG. 2, limb 22 and objects 24 are defined to include oneor more surfaces 40, 42 and a plurality of contact elements 44, 46having a predetermined relationship (e.g. location) to a given surface40, 42. Each contact element 44, 46 further includes one or more contactnodes 48, 50. Contact elements 44, 46 with contact nodes 48, 50 will beused to cover all surfaces 40, 42 that may contact with other surfaces40, 42 for both virtual limb 22 and virtual objects 24. In oneembodiment of the invention, three (3) node triangle contact elementsare used to represent the surfaces in three-dimensional space. It shouldbe appreciated, however, that different approaches with respect to thespecific choice of contact elements 44, 46 can be adopted. For example,in two alternative embodiments, four and eight node quadrilateralcontact elements, respectively, are used. It should be appreciated thata variety of shapes and number of nodes 48, 50 for the contact elements44, 46 should be considered to be within the scope of the presentinvention. Referring to FIGS. 3A-B, two alternative embodiments ofcontact elements are shown that may reduce computational overhead. InFIG. 3A, a linear or line contact element 52 is placed in the center ofa virtual cylindrical object 54 (which may comprise a portion of avirtual limb 22 for example) In FIG. 3B, a linear or line contactelement 56 is placed in the center of a virtual cylindrical-conicalobject 58 (which may comprise a portion of a virtual limb 22 such as afinger or section of a finger for example). In another alternativeembodiment, a single node contact element with a shape of a point isplaced in the center of a virtual spherical object and with contacttolerance equal to the radius of the spherical object. This embodimentis useful for significantly reducing cost (in terms of processing timeand memory) in processing the interactions between the spherical objectand virtual limb 22 or other virtual objects 24. The contact elements44, 46 may have complete or continuous coverage over a given surface oronly a portion thereof. Alternatively, the contact elements 44, 46 maynot have complete or continuous coverage over a given surface or portionthereof. In such embodiments, contact elements composed of circles,triangles or other shapes (e.g. a point) are relatively sparselydistributed over contact surfaces.

Each contact element 44, 46 may be placed beneath a given surface 40, 42with an offset (i.e., depth) equal to the contact tolerance of theelement 44, 46. In one embodiment, it is assumed that the contactelements 44, 46 do not move relative to the original contact surfaces40, 42 when the contact surfaces 40, 42 deform. It should be appreciatedthat in the scope of the present invention a variety of tolerances maybe used, including a variety of tolerances below a given surface, abovea given surface and on a given surface and that, in some embodiments thecontact elements 44, 46 can move relative to the original contactsurfaces 40, 42 when the contact surfaces deform. In the embodiment ofthe contact element 52 shown in FIG. 3A, the contact tolerance is equalto the fixed radius r₀. In FIG. 3B, the tolerance varies along thelength of element 56 and is equal to the varying radius r at that point.In the illustrated embodiment, r_(t) and r_(b) are the radii at the topand bottom of the virtual object 58, respectively.

The inventive method may further include the step of determining acontact force between a pair of virtual bodies upon engagement betweenthe virtual bodies caused by movement of limb 22 or one or more virtualobjects 24. In one embodiment of the invention, the contact forcebetween virtual prosthetic limb 22 (or at least a member thereof) and avirtual object 24 is determined. Alternatively, it should be understoodthat the contact force between multiple members of limb 22 could bedetermined (e.g., one finger engaging another finger) or betweenmultiple virtual objects could be determined (e.g., a baseball bat swungby the virtual limb hitting a ball). Each contact element 44, 46 has itsown contact properties, including contact tolerance, stiffness, maximumallowed force, minimum separation force and coefficient of friction. Inone embodiment of the invention, it is assumed that contact propertiesdo not vary within a contact element 44, 46. In an alternativeembodiment of the invention, contact properties may vary within anelement 44, 46. The concept of the contact tolerance is introduced bythe inventors to effectively process interactions between the virtualbodies such as limb 22 and virtual objects 24. In general, the contacttolerance of a contact element 44, 46 is the distance beneath thesurface 40, 42 (or relative to the surface 40, 42) at which the contactelement 44, 46 is located. With this approach, contact force anddisplacement of a contact node 48, 50 or contact point can be easilycalculated (see description below). For contact stiffness, an elasticforce-displacement relationship is used. In some embodiments, a linearelastic relationship F=k×d, where K is a constant, is used althoughnon-linear relationships may find application in several embodiments inwhich surfaces have large deformations. In an alternative embodiment ofthe invention where contact properties vary within an element 44, 46,stiffness has a more complicated force-displacement relationship, e.g.,different loading-unloading-reloading curves, including creep and stressrelaxation, so that more complicated interactions between the virtuallimb 22 and virtual objects 24 can be simulated (such as squeezingtoothpaste).

Referring again to FIGS. 2A-B, two surfaces S₁ and S₂ are shown withcontact points P₁ and P₂ before contact is established (FIG. 2A) andafter contact is established (FIG. 2B). In the illustrated embodiment,contact point P₁ comprises contact node 48. It should be understood,however, that either of contact points P₁ and P₂ may comprise a contactnode or another point on surface S₁ and S₂, respectively. T₁ and T₂ arethe contact tolerances of contact points P₁ and P₂, respectively. D isthe distance between P₁ and P₂. In the illustrated embodiment, contactelements 44, 46 are disposed beneath the surfaces 40, 42 atpredetermined offsets (i.e., the depths below the surfaces) equal to thecontact tolerances for the points P₁, P₂, respectively. ECU 20 may beconfigured, in determining the contact force, to detect a condition inwhich a distance between a point P₁ on a first contact element 44 oflimb 22 and a point P₂ on a contact element 46 of object 24 is less thana sum of a tolerance of point P₁ and of a tolerance of point P₂ and,upon detecting the condition, calculate the contact force responsive toone of the predetermined set of characteristics associated with thecontact nodes 48, 50 of the contact elements 44, 46 of limb 22 andobject 24. In particular, when the distance D between a contact point P₁on a surface S₁ and a contact point P₂ on another surface S₂ becomesless than the summation of the contact tolerances T₁, T₂ associated withthe two contact points P₁, P₂, contact force may be calculated based onthe stiffnesses of the contact points P₁, P₂. When two surfaces (e.g.surfaces 40, 42) contact each other, two cases are considered: (1) acontact point P₁, P₂ from one of the two surfaces 40, 42 contacts acontact point P₁, P₂ on the other surface 40, 42 that is within theperimeter of a contact element 44, 46; and (2) a contact point P₁, P₂ onone surface 40, 42 contacts a point P₁, P₂ on the other surface 40, 42where one or more contact elements 46, 48 touch. The contact propertiesof a contact point P₁, P₂ for these two cases are defined as (1) thesame as the contact element 44, 46, when the contact point P₁, P₂ iswithin the perimeter of the contact element 44, 46; and (2) the same asthe contact element 44, 46 or the angular weighted average of allcontact elements 44, 46 that touch the point P₁, P₂. ECU 20 may befurther configured, in determining the contact force, to determine adirection of the contact force responsive to a position of the pointsP₁, P₂ on the contact elements 44, 46. In particular, the direction ofthe contact force may be defined as the line segment between the twocontact points P₁, P₂. Friction force associated with the contact forcemay also be calculated. The contact force, F, is a known function ofdisplacement, and this function is referred to as “stiffness”, denotedby F(d). The contact force is calculated in the following way: thecontact force applied on the contact points P₁ and P₂ is

F=F ₁(d ₁)=F ₂(d ₂)

where d₁ is the displacement of the contact point P₁ and F₁(d₁) is aknown function of d₁, representing the contact force on contact point P₁due to the displacement d₁, and the d₂ and F₂(d₂) are the displacementand force associated with contact point P₂. The phrase “displacement ofa contact point” stands for the normal (i.e., orthogonal) deformation ofa contact surface in an area represented by the contact point. Thecontact forces on each of the two surfaces (which are equal in magnitudeand opposite in direction) can be computed as follows. Referring to FIG.2, by equating d₁+d₂ to the difference between the summation, T₁+T₂, ofthe contact tolerances of the two contact points P₁, P₂, respectively,and the distance, D, between the two contact points P₁, P₂, the contactforce is obtained by solving the two equations

F ₁(d ₁)=F ₂(d ₂) and T ₁ +T ₂ −D= d ₁ +d ₂

In most embodiments of the invention, the contact force and displacementof each contact point P₁, P₂ are calculated independently of any othercontact point P₁, P₂. In an alternative embodiment of the invention, thecontact force and displacement of a contact point P₁, P₂ depend on thecontact force and displacement of one or more other contact points P₁,P₂. In yet further alternative embodiments, computational modeling,e.g., the finite element method, boundary element method and/or finitedifference method, are used to calculate the contact forces anddeformations of the segments of the virtual limb 22 and the virtualobjects 24, due to the surface forces (e.g., contact and frictionforces) and body forces (e.g., gravity and electromagnetic forces) inthe virtual space. Such computational methods are well known in the art;see for example the excellent three books:

-   1. “The finite element method for solid and structural mechanics”,    By O. C. Zienkiewicz, Richard Lawrence Taylor, Robert Leroy Taylor    Sixth edition published by Butterworth-Heinemann 2005;-   2. “Boundary Element Techniques in Engineering”, By C. A. Brebbia,    First edition published by Newnes-Butterworths 1980;    and-   3. “The finite difference method in partial differential equations”,    MITCHELL, A R, GRIFFITHS, D F, Chichester, Sussex, England and New    York, Wiley-Interscience, 1980,    all of which are incorporated by reference hereinto.

The inventive method may continue with the step of adjusting a positionof at least one of the virtual bodies such as prosthetic limb 22 orvirtual object 24 responsive to the determined contact force. Themovements of a virtual movable object 24 will be determined by theresultant of all forces (and moment of forces) applied on the object 24and the mass (and moment of inertia) of the object 24, as well as theenvironment simulated, e.g., on the earth, in a weightless space, underwater or a hypothetical environment. If a contacting virtual object 24is fixed in space, e.g., a virtual workbench, the movements of thevirtual limb 22 or a movable object 24 will be limited when they contactsuch a virtual object 24. A virtual object 24 with limited movements maybecome a movable object when the resultant of forces applied on theobject 24 is higher than a threshold level, e.g., picking an apple froma tree. ECU 20 may be further configured, in adjusting the position of avirtual body such as the virtual prosthetic limb 22 and/or virtualobject 24, to limit an amount of an adjustment from a prior position toan amount that is less than a predetermined minimum distance between thecontact points P₁, P₂ on the virtual bodies. To prevent penetrationbetween two contact elements 44, 46, the movements of the virtual limb22 and virtual objects 24 will be achieved by adopting multiple smallincremental movements, so that the maximum displacement of all (any)contact elements 44, 46 will be smaller than the minimum contacttolerance of all contact elements 44, 46 before any contact isestablished. The increments may be reduced further to ensure the maximumdisplacement will be smaller than the minimum distance between any pairof contact points P₁, P₂ after any contact is established. Surfacecontact may be checked from both sides of two contact surfaces, i.e., toensure that contact points P₁, P₂ on one contact surface 40, 42 do notpenetrate any contact element 44, 46 on another contact surface 40, 42and vice versa. In yet further embodiments, surface contact is checkedasymmetrically; that is, it is only ensured that contact points P₁, P₂on one contact surface 40, 42 do not penetrate any contact element 44,46 on another contact surface 40, 42, but the reverse is not checked.For example, this would be equivalent to ensuring that the contact pointP₁ on the virtual limb 22 does not penetrate any contact element 46 onthe contact surfaces 42 of the virtual objects 24, but that the contactsurfaces 42 of the virtual objects 24 are not checked to ensure nopenetration onto the virtual limb 22. In one embodiment of theinvention, deformations of the virtual limb 22 and virtual objects 24due to contact forces are not reflected by ECU 20 on display 14. In analternative embodiment of the invention, the deformations are reflectedon display 14.

ECU 20 may be further configured to generate virtual force sensors atvarious locations on virtual prosthetic limb 22 (e.g., on the fingers)and to transmit an output signal through an interface to the patient 12or others responsive to a contact force determined at the location of agiven virtual force sensor. The interface may be a part of, or separatefrom, interface 18. Further, although ECU 20 is used to process signalsfrom the virtual sensors and/or provide output signals to the interface,it should be understood that the interface could employ a separateelectronic control unit to process the signals and provide outputsignals to the interface such that signal processing for the interfacecan be designed independent of the other tasks handled by ECU 20. Forcessensed at the virtual sensor locations may be fed back to the patient 12or others with visual and/or audio output signals. For example, thecontact forces calculated by ECU 20 at the location with virtual forcesensors may be displayed on display 14 or a separate display. ECU 20 mayalso generate sounds through an audio interface that mimics expectedsounds from the interaction of limb 22 and objects 24 (e.g., a handhitting a table, objects contacting one another, or a can being crushedby a hand). Forces sensed at the virtual sensor, locations may also befed back to patient 12 through electro-mechanical feedback mechanisms.For example, ECU 20 may generate a signal through an electrode coupledto the patient's residual limb, to simulate the interaction in virtualspace (e.g., contact of the limb and other objects, inertia force due tolimb and object motions, etc.). The output signal may have apredetermined characteristic if the contact force exceeds apredetermined threshold. For example, when the maximum force at a givenlocation becomes higher than a preset level, a visual and/or audiowarning signal may be provided.

In yet another alternative embodiment, the virtual limb 22 or limbs areused to simulate a person's natural limb or limbs instead of aprosthetic limb. In this embodiment, tracking markers are placed onsegments of the natural limb(s) to capture the real-time movements ofthe interested segments and the captured real-time data is used tocontrol the movements of the virtual limb(s).

While the invention has been shown and described with reference to oneor more particular embodiments thereof, it will be understood by thoseof skill in the art that various changes and modifications can be madewithout departing from the spirit and scope of the invention.

1. A system for configuring a prosthetic limb for use by a living being,comprising: an electronic control unit configured to receive a controlsignal generated in response to a command from said living beinggenerate a plurality of virtual bodies on a display including aplurality of members of a virtual prosthetic limb and at least onevirtual object; control movement of at least a first member of saidplurality of members of said virtual prosthetic limb responsive to saidcontrol signal; determine a contact force between first and secondvirtual bodies of said plurality of virtual bodies upon engagementbetween said first and second virtual bodies caused by movement of oneof said at least a first member of said virtual prosthetic limb and saidat least one virtual object; and, adjust a position of at least one ofsaid first and second virtual bodies responsive to said contact force.2. The system of claim 1 wherein said first virtual body comprises saidfirst member of said virtual prosthetic limb and said second virtualbody comprises a second member of said virtual prosthetic limb.
 3. Thesystem of claim 1 wherein said first virtual body comprises said firstmember of said virtual prosthetic limb and said second virtual bodycomprises a first virtual object.
 4. The system of claim 1 wherein saidfirst virtual body comprises a second member of said virtual prostheticlimb and said second virtual body comprises a first virtual object. 5.The system of claim 1 wherein said first virtual body comprises a firstvirtual object and said second virtual body comprises a second virtualobject.
 6. A system for configuring a prosthetic limb for use by aliving being, comprising: an electronic control unit configured toreceive a control signal generated in response to a command from saidliving being generate a virtual prosthetic limb and a virtual object ona display; control movement of said virtual prosthetic limb responsiveto said control signal; determine a contact force between said virtualprosthetic limb and said virtual object upon engagement of said virtualobject by said virtual prosthetic limb; and, adjust a position of atleast one of said virtual prosthetic limb and said virtual objectresponsive to said contact force.
 7. The system of claim 6, furthercomprising a control interface configured to generate said controlsignal.
 8. The system of claim 7, wherein said control interfacecomprises a foot activated switch.
 9. The system of claim 7 wherein saidcontrol interface includes: a plurality of markers affixed to saidliving being; and, first and second cameras generating images of saidmarkers.
 10. The system of claim 7 wherein said control interfaceincludes a sensor.
 11. The system of claim 10 wherein said sensorcomprises an accelerometer configured for attachment to said livingbeing.
 12. The system of claim 10 wherein said sensor comprises anelectrode configured to contact tissue in said living being.
 13. Thesystem of claim 6 wherein said display comprises a three dimensionaldisplay.
 14. The system of claim 6 wherein said virtual prosthetic limband said virtual object each include a surface and plurality of contactelements located at a predetermined position relative to said surface,each of said plurality of contact elements having at least one contactnode having a predetermined set of characteristics.
 15. The system ofclaim 14 wherein said electronic control unit is further configured, indetermining said contact force, to: detect a condition in which adistance between a contact point on a first contact element of saidvirtual prosthetic limb and a contact point on a first contact elementof said virtual object is less than a sum of a tolerance of said contactpoint on said first contact element of said virtual prosthetic limb andof a tolerance of said contact point on said first contact element ofsaid virtual object; and, upon detecting said condition, calculate saidcontact force responsive to one of said predetermined set ofcharacteristics of said contact point of said first contact element ofsaid virtual prosthetic limb and said predetermined set ofcharacteristics of said contact point of said first contact element ofsaid virtual object.
 16. The system of claim 15 wherein said electroniccontrol unit is further configured, in determining said contact force,to determine a direction of said contact force responsive to a positionof said contact point on said first contact element of said virtualprosthetic limb and a position of said contact point on said firstcontact element of said virtual object.
 17. The system of claim 14wherein said predetermined set of characteristics includes at least onecharacteristic selected from the group consisting of: contact tolerance,stiffness, maximum allowed force, minimum separation force andcoefficient of friction.
 18. The system of claim 14 wherein saidelectronic control unit is further configured, in adjusting saidposition of at least one of said virtual prosthetic limb and saidvirtual object, to limit an amount of an adjustment from a priorposition to an amount that is less than a predetermined minimum distancebetween a contact point on a first contact element of said virtualprosthetic limb and a contact point on a first contact element of saidvirtual object.
 19. The system of claim 6 wherein said electroniccontrol unit is further configured to transmit an output signal throughan interface to said living being responsive to said contact force. 20.The system of claim 19 wherein said output signal has a predeterminedcharacteristic if said contact force exceeds a predetermined threshold.